package es.exitae.ejerciciofinal;

import static es.exitae.ejerciciofinal.utils.Constantes.TAG_ID_LUGAR;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.widget.SimpleCursorAdapter;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import es.exitae.ejerciciofinal.provedorCont.EjercicioFinalProvider;
import es.exitae.ejerciciofinal.provedorCont.tablas.Lugares;
import es.exitae.ejerciciofinal.utils.Traza;
import es.exitae.ejerciciofinal.utils.enums.Metodo;

public class ListaLugaresActivity extends Activity implements OnItemClickListener
{
	private ListView lista;
	private SimpleCursorAdapter adapter;

	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		Traza.d(Metodo.ENTRADA);
		super.onCreate(savedInstanceState);
		setContentView(R.layout.lista_activity);
		
		adapter = cargarAdapter();

		lista = (ListView) findViewById(R.id.listaLugares);
		lista.setOnItemClickListener(this);
		lista.setAdapter(adapter);

		Traza.d(Metodo.SALIDA);
	}

	@Override
	protected void onResume()
	{
		super.onResume();
		adapter.changeCursor(cargarCursor());
	}

	private Cursor cargarCursor()
	{
		Traza.d(Metodo.ENTRADA);
		Uri url = Uri.parse(EjercicioFinalProvider.LUGARES_URI);	
		String[] projection = { Lugares._ID, Lugares.COL_NOMBRE, Lugares.COL_DESCRIPCION };
		
		Traza.d(Metodo.SALIDA);
		return getContentResolver().query(url, projection, null, null, Lugares.DEFAULT_SORT_ORDER);
	}

	private SimpleCursorAdapter cargarAdapter()
	{
		Traza.d(Metodo.ENTRADA);
		Cursor c = null;
		String[] from = { Lugares.COL_NOMBRE, Lugares.COL_DESCRIPCION };
		int[] to = {R.id.txtRowName, R.id.txtRowDescription};
		
		Traza.d(Metodo.SALIDA);
		return new SimpleCursorAdapter(this, R.layout.row, c, from, to, SimpleCursorAdapter.NO_SELECTION);
	}

	@Override
	public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id)
	{
		Traza.d(Metodo.ENTRADA);

		Intent i = new Intent(this, MostrarLugarActivity.class);
		i.putExtra(TAG_ID_LUGAR, (int) id);
		startActivity(i);

		Traza.d(Metodo.SALIDA);
	}
}
